<!-- 新增弹窗 -->

<template>
  <WebModal path="add" word="工单" :noCancel="add_one.step !== 1">
    <WebForm path="add">
      <MyStep />
      <Step1 v-if="add_one.step === 1" />
      <Step2 v-if="add_one.step === 2" />
      <Step3 v-if="add_one.step === 3" />
    </WebForm>

    <template #footer>
      <MyFooter />
    </template>
  </WebModal>
</template>

<script>
// ============================== 导入依赖 ============================== //

import CORE from '@/CORE'

// ============================== 导出组件 ============================== //

export default {
  /**
   * 名称定义 (实际使用名称)
   */
  name: 'AddModal',

  /**
   * 混入列表 (配置选项合并)
   */
  mixins: [
    CORE.mixWeb('add', 'add_'),
    CORE.mixWeb('deal', 'deal_'),
    CORE.mixSelect('release', 'release_'),
    CORE.mixSelect('history', 'history_'),
  ],

  /**
   * 组件导入 (Abc.vue + Abc/index.vue)
   */
  ...CORE.components(require.context('./', true, /vue$/)),

  /**
   * 监听属性 (深度 deep 首次 immediate)
   */
  watch: {
    /**
     * 监听新增的弹窗关闭
     */
    add_visible(visible) {
      if (!visible) {
        this.release_setChosen() // 提单人重置
        this.history_setSelect() // 工单历史重置
      }
    },

    /**
     * 监听处理的弹窗关闭
     */
    deal_visible(visible) {
      if (!visible && this.deal_one.dealType === 1) {
        this.add_setOne() // 转工单重置
        this.release_setChosen() // 提单人重置
        this.history_setSelect() // 工单历史重置
      }
    },
  },
}
</script>
